package com.cedifie.lendapp.utils.helper

import com.cedifie.lendapp.config.CedConfigs
import com.lib.base.utils.SPUtils

/**
 * Cedifie
 * @Author wwdeng
 * @CreateTime: 2024/6/13 13:47
 * @Annotation：SharedPreferences 数据存取帮助类
 */
object SharedHelper {

    /**
     * SharedPreferences 保存 KEY
     */
    object CED_SPKEY{
        
        /**
         * App 转发时区 Key
         */
        const val CEDIFIE_TIMEZONE = "${CedConfigs.CED_APPNAME}_TimeZone"
        
        /**
         * App 转发时区 区号  Key
         */
        const val CEDIFIE_TIMEZONE_CODE = "${CedConfigs.CED_APPNAME}_TimeZone_Code"

        /**
         * 业务APP 配置请求
         */
        const val CEDIFIE_COMMON = "${CedConfigs.CED_APPNAME}_Common"

        /**
         * 用户登录状态
         */
        const val CEDIFIE_LOGIN = "${CedConfigs.CED_APPNAME}_isLogin"

        /**
         * 是否是渠道用户
         * 登录接口获取
         */
        const val CEDIFIE_IS_ADSOURCE = "${CedConfigs.CED_APPNAME}_isAdSource"

        /**
         * 是否是审核账号
         * 登录时保存
         */
        const val CEDIFIE_IS_AUDIT = "${CedConfigs.CED_APPNAME}_isAudit"

        /**
         * 用户id（userId）
         * 登录接口获取 VH7vqSZFdCIj0qGuSRAZw
         */
        const val CEDIFIE_USERID = "${CedConfigs.CED_APPNAME}_UserId"

        /**
         * 用户Token
         * 登录接口获取 VH7vqSZFdCIj0qGuSRAZw
         */
        const val CEDIFIE_TOKEN = "${CedConfigs.CED_APPNAME}_Token"

        /**
         * 用户号码
         * 登录页面获取
         */
        const val CEDIFIE_MOBILE = "${CedConfigs.CED_APPNAME}_Mobile"

        /**
         * 用户流程状态
         */
        const val CEDIFIE_PROCESS = "${CedConfigs.CED_APPNAME}_Process"

        /**
         * Active Dialog Show Num
         */
        const val CEDIFIE_DIALOG_ACTIVE_NUM = "${CedConfigs.CED_APPNAME}_Dialog_Active_Num"

        /**
         * Normal Dialog Show Num
         */
        const val CEDIFIE_DIALOG_NORMAL_NUM = "${CedConfigs.CED_APPNAME}_Dialog_Normal_Num"

        /**
         * 权限声明状态： 0未操作  1已同意  -1拒绝
         */
        const val CEDIFIE_PERMISSION_REASON_TYPE = "${CedConfigs.CED_APPNAME}_Dialog_Permission_Reason_Type"
    }

    /**
     * 保存数据
     */
    fun saveCedSPData(key: String,value: Any){
        SPUtils.put(key,value)
    }

    /**
     * 获取String
     */
    fun getCedSPString(key: String): String{
        return SPUtils.getString(key)
    }

    /**
     * 获取boolean
     */
    fun getCedSPBoolean(key: String): Boolean{
        return SPUtils.getBoolean(key,false)
    }

    /**
     * 获取Int
     */
    fun getCedSPInt(key: String): Int{
        return SPUtils.getInt(key,0)
    }

    /**
     * 移除指定内容
     */
    fun removeCedData(key: String){
        SPUtils.remove(key)
    }

    /**
     * 获取token
     */
    fun getCedToken(): String{
        return getCedSPString(CED_SPKEY.CEDIFIE_TOKEN)
    }

    /**
     * 退出登录，清除数据
     */
    fun onCedLoginOut(){
        //移除已登录状态
        removeCedData(CED_SPKEY.CEDIFIE_LOGIN)
        //移除用户Token
        removeCedData(CED_SPKEY.CEDIFIE_TOKEN)
        //移除用户id
        removeCedData(CED_SPKEY.CEDIFIE_USERID)
        removeCedData(CED_SPKEY.CEDIFIE_MOBILE)
        removeCedData(CED_SPKEY.CEDIFIE_IS_ADSOURCE)
        removeCedData(CED_SPKEY.CEDIFIE_IS_AUDIT)
        removeCedData(CED_SPKEY.CEDIFIE_PERMISSION_REASON_TYPE)
    }
}